<?php

require_once "Basic.php";

class SelectAllocationForPayment extends BasicEntity {
  
  public function __construct() {
    $this->fields = array (
      new FormField(true, "locacao", htmlentities("Código da Locação"), new FormFieldAbsNumber()),
    );
    $this->processFields();
  }
  
  public function actionDescription() {
    return "MakeReturn";
  }
  
  public function actionMakeReturn() {
    foreach($this->fields as $k => $v) {
      $$k = $v->value();
    }
    
    $locacao = intval($locacao);
    
    $db = new DBUtils();
    try {
      $db->connect();
      
      // 
      $db->runQuery("select * from LocacoesNaoQuitadas where idLocacao = ?", array($locacao));
      if($db->getItem() === null) {
        $db->close();
        $this->fields['locacao']->setValid(false);
        return htmlentities("Código de locação inválido (o veículo foi retornado?).");
      }
      $db->close();
      header("Location: PayAllocation.php?idLocacao=${locacao}");
    }
    catch(DBError $e) {
      logMessage($e->errors, "PayAllocation");
      $db->close();
      return "Falha no banco de dados. O erro foi reportado.";
    }
    
    return true;
  }
  
}

mustBeEmployee();
correctStdFormGET();

$page = new Page(htmlentities("Pagar uma Locação"));
$req = new SelectAllocationForPayment();
$form = new StdForm($req, $_GET, $_POST, "", "", "SelectAllocationForPayment.php");
$form->processForm();
$page->addContent($form->getHtml());

echo $page->getHtml();

